diff --git a/package.json b/package.json
index 6c3531f..8d685ac 100644
--- a/package.json
+++ b/package.json
@@ -6,9 +6,10 @@
 	"author": "knotteye",
 	"scripts": {
 		"start": "ts-node src/index.ts",
-		"user": "ts-node src/cli.ts",
+		"cli": "ts-node src/cli.ts",
 		"setup": "sh install/setup.sh",
-		"migrate": "ts-node src/migrate.ts"
+		"migrate": "ts-node src/migrate.ts",
+		"invite": "ts-node src/cli.ts --invite"
 	},
 	"repository": {
 		"type": "git",
diff --git a/src/api.ts b/src/api.ts
index abf2e94..55d6437 100644
--- a/src/api.ts
+++ b/src/api.ts
@@ -98,9 +98,9 @@ async function getConfig(username: string, all?: boolean): Promise<object>{
 	return t;
 }
 
-async function genInvite(user: string): Promise<string>{
+async function genInvite(): Promise<string>{
 	var invitecode: string = base64id.generateId();
-	await db.query('INSERT INTO invites (code) VALUES ('+invitecode+')');
+	await db.query('INSERT INTO invites (code) VALUES (\"'+invitecode+'\")');
 	return invitecode;
 }
 
diff --git a/src/cli.ts b/src/cli.ts
index 110ecc6..1109154 100644
--- a/src/cli.ts
+++ b/src/cli.ts
@@ -1,4 +1,5 @@
-import * as db from "./database"
+import * as db from "./database";
+import * as api from "./api";
 import * as flags from "flags";
 
 db.init();
@@ -6,6 +7,7 @@ db.init();
 flags.defineString('adduser', '', 'User to add');
 flags.defineString('rmuser', '', 'User to remove');
 flags.defineString('password', '', 'password to hash');
+flags.defineBoolean('invite', false, 'generate invite code');
 
 flags.parse();
 
@@ -23,4 +25,13 @@ if(flags.get('rmuser') !== ''){
 		else console.log("Could not remove user.");
 		process.exit();
 	});
+}
+
+if(flags.get('invite')){
+	var config = require("./config").config;
+	api.genInvite().then((r: string) => {
+		console.log('invite code: '+r);
+		console.log('Direct the user to https://'+config['satyr']['domain']+'/invite/'+r);
+		process.exit();
+	});
 }
\ No newline at end of file
diff --git a/src/db/2.ts b/src/db/2.ts
new file mode 100644
index 0000000..cfe7ae0
--- /dev/null
+++ b/src/db/2.ts
@@ -0,0 +1,8 @@
+import * as db from "../database";
+
+async function run () {
+	await db.query('CREATE TABLE IF NOT EXISTS invites(code VARCHAR(150))');
+	await db.query('INSERT INTO db_meta (version) VALUES (2)');
+}
+
+export { run }
\ No newline at end of file