Commit graph

36 commits

Author SHA1 Message Date
Nurahmadie 97825cf6bf Add usage info at migration script generator.
Also suppress error at the latest migration script
for backward compatibility with existing database, in which
open_invitations column wasn't added via migration.
2014-03-12 08:33:04 +07:00
Nurahmadie 89a00bd448 Refactor tests, add test for ChangeColumn method. 2014-03-12 07:04:34 +07:00
Nurahmadie 9a0b29d8b1 Remove database.Set, all setup being done in database.Init now. 2014-03-11 15:10:13 +07:00
Nurahmadie 92dfcbfca9 Move database schema to migration script. 2014-03-10 20:28:04 +07:00
Nurahmadie 76ed21c40f Cleanup some leftover
Don't have to import mattn/go-sqlite3 at pkg/database/migrate/sqlite.go
Remove unused DriverFunction declaration at migrate.go
2014-03-10 11:30:39 +07:00
Nurahmadie d61bb3ef6c Fix index operation tests 2014-03-10 07:17:47 +07:00
Nurahmadie 489e38908a Implement ChangeColumn, AddIndex, and DropIndex methods for Operation interface. 2014-03-10 07:11:15 +07:00
Nurahmadie 81cf496811 Refactor migration.
Add `ChangeColumn`, `AddIndex`, `DropIndex` method to
Operation interface.
2014-03-10 07:08:58 +07:00
Nurahmadie 28fef9e3f4 Returns error if driver name is not listed.
Also remove references to postgresql driver for now.
And add some comments for `database.Init` method.
2014-03-08 18:12:43 +07:00
Nurahmadie 51519b62dd Actually use --driver option to set database driver for drone.
This includes refactoring database setup, and migration system.

Remove setupDatabase from main and use `Init` method from database
package.

At database package, defines Init method which actually initiate
database with options given from comand line flag. I think `--path`
wont be used anywhere so I plan to remove it later.

Both meddler and migration initiated here, then we call `Set` method
to setup all the tables, etc. Here I think I want to separate database
schema and turn it into migration script instead, later maybe.

At migration package I made some tweak to `Operation` interface.
Realized that it's ludicrous to let migration driver re-implement `Exec`
and `Query`, I made migration script to receive The whole
migrationDriver struct which contains both Operation implementor, and
the Tx itself. This made possible thanks to Go struct being able to
promote its member, now our migration is more transparent.

There's also stub implementation for bot mysql and postgresql, will
implement this really soon.
2014-03-08 12:19:28 +07:00
Brad Rydzewski 3c25a4a00a fixed issue updating team member roles 2014-02-21 13:26:50 -07:00
Nurahmadie d9e4f3f509 Add shell script to generate migration script. 2014-02-19 08:15:51 +07:00
Nurahmadie 7b4c698e79 Refactor columns matching method 2014-02-19 07:38:53 +07:00
Nurahmadie 21f7fcb853 Fix index operations:
- Pass args as variadic params
- Tests for index operations
- Refactor fetchColumns
2014-02-19 01:11:41 +07:00
Nurahmadie 8d7cf16a89 Add func to fetch SQL definition for indices.
Also rearrange sql.Result and err declaration.
2014-02-18 21:22:22 +07:00
Nurahmadie 7a75c2d004 Keep indices when dropping/renaming columns. 2014-02-18 18:32:04 +07:00
Brad Rydzewski 2867818679 removed github domain and url from schema.go for unit tests 2014-02-17 23:10:20 -07:00
Brad Rydzewski a200c7a0a2 altered migration to set default github domain and url 2014-02-17 23:08:06 -07:00
Brad Rydzewski cb042e1c1a fixed compile error in migration script 2014-02-17 22:48:31 -07:00
Brad Rydzewski bbb4bf48e0 Merge remote-tracking branch 'origin/master' 2014-02-17 22:42:01 -07:00
Brad Rydzewski 0e83e76ef4 removed unused migration sample file 2014-02-17 22:41:56 -07:00
Brad Rydzewski 85e60e4ee2 Merge pull request #75 from floatdrop/github-enterprise-support
GitHub Enterprise Support
2014-02-17 21:38:28 -08:00
Brad Rydzewski 7ce1e55ac3 Merge pull request #83 from fudanchii/migration
Migration system for sqlite
2014-02-17 20:46:13 -08:00
Vsevolod Strukchinsky 1505175288 Migration file based on #83
I choosed Rev3, because Rev2 will be about "open invitations" feature.
2014-02-16 11:57:16 +06:00
Vsevolod Strukchinsky 7208d95a76 Added GitHubApiUrl and GitHubDomain to settings and template 2014-02-16 11:45:14 +06:00
Brad Rydzewski 4b412d3a26 added code to prevent panic if /login is reached but no settings exist
minor styling. added success and fail message to top of /signup screen
modified open_registration to boolean value in database
2014-02-15 18:56:48 -07:00
Nurahmadie 4ef0f1b437 Integrate migrations with drone.
Also add migration to tests.
2014-02-16 03:47:30 +07:00
Nurahmadie da8d4346ee Add tests to migrate existing database without migration attributes. 2014-02-16 02:23:26 +07:00
Nurahmadie 8ce87f0d2c More tests for alter columns migration
Also change the way we handle columns rename migration.
SQLite restrict column addition not to have PRIMARY KEY and/or
UNIQUE attribute, so we have to change from:

add new column -> migrate data from old column to new column ->
rename old table -> create new table with old columns removed ->
migrate data from old table to the new table -> drop old table

to directly:
rename old table -> create new table with renamed columns ->
migrate data from old table to the new table -> drop old table
2014-02-16 00:56:17 +07:00
Nurahmadie 4465b2654d Fix migration step not checked against current version.
Add tests for DropColumns.
2014-02-15 22:17:22 +07:00
Nurahmadie 54a9544044 Integrate MigrationDriver to migrate.go 2014-02-15 20:16:54 +07:00
Nurahmadie d2eed594ea Migration Driver for SQLite
Need more tests.
2014-02-15 19:29:53 +07:00
Vsevolod Strukchinsky 6937b7b21e Open invitation setting
Closes #64
2014-02-14 10:53:22 +06:00
Brad Rydzewski 088c45941c partial fix to issue #50 and issue #37 to select token from database 2014-02-11 16:05:53 -07:00
Brad Rydzewski 8d135d7b22 package for database migrations 2014-02-10 03:03:22 -07:00
Brad Rydzewski d5e5797934 initial public commit 2014-02-07 03:10:01 -07:00