0
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2025-04-08 02:52:39 -05:00

Added ability to specific table definition to createTable

no-issue
This commit is contained in:
Fabien O'Carroll 2021-01-22 12:24:38 +00:00 committed by Daniel Lockyer
parent e33599432d
commit cc17de16ba
No known key found for this signature in database
GPG key ID: FFBC6FA2A6F6ABC1

View file

@ -79,7 +79,7 @@ function dropUnique(tableName, column, transaction) {
* https://github.com/tgriesser/knex/issues/1303
* createTableIfNotExists can throw error if indexes are already in place
*/
function createTable(table, transaction) {
function createTable(table, transaction, tableSpec = schema[table]) {
return (transaction || db.knex).schema.hasTable(table)
.then(function (exists) {
if (exists) {
@ -89,14 +89,14 @@ function createTable(table, transaction) {
return (transaction || db.knex).schema.createTable(table, function (t) {
let tableIndexes = [];
const columnKeys = _.keys(schema[table]);
const columnKeys = _.keys(tableSpec);
_.each(columnKeys, function (column) {
if (column === '@@INDEXES@@') {
tableIndexes = schema[table]['@@INDEXES@@'];
tableIndexes = tableSpec['@@INDEXES@@'];
return;
}
return addTableColumn(table, t, column);
return addTableColumn(table, t, column, tableSpec[column]);
});
_.each(tableIndexes, function (index) {