fix: asset data type for mysql + mariadb

This commit is contained in:
Nick 2019-05-27 00:28:12 -04:00
parent 241825ebd8
commit c0d7e16ef7
5 changed files with 82 additions and 724 deletions

View File

@ -90,6 +90,8 @@
v-list-tile-content
v-list-tile-title(v-html='dbVersion')
v-list-tile-sub-title {{ info.dbHost }}
v-alert.mt-3(:value='isDbLimited', color='deep-orange', icon='warning') Your database version is not fully supported. Some functionality may be limited or not work as expected.
</template>
<script>
@ -127,6 +129,9 @@ export default {
default:
return ''
}
},
isDbLimited() {
return this.info.dbType === 'MySQL' && this.dbVersion.indexOf('5.') === 0
}
},
methods: {

View File

@ -15,7 +15,7 @@ port: 3000
# ---------------------------------------------------------------------
# Supported Database Engines:
# - postgres = PostgreSQL 9.5 or later
# - mysql = MySQL 5.7.8
# - mysql = MySQL 8.0 or later (5.7.8 partially supported, refer to docs)
# - mariadb = MariaDB 10.2.7 or later
# - mssql = MS SQL Server 2012 or later
# - sqlite = SQLite 3.9 or later

View File

@ -8,6 +8,7 @@ module.exports = {
WIKI.logger.info('=======================================')
WIKI.logger.info(`= Wiki.js ${_.padEnd(WIKI.version + ' ', 29, '=')}`)
WIKI.logger.info('=======================================')
WIKI.logger.info('Initializing...')
WIKI.models = require('./db').init()

View File

@ -0,0 +1,21 @@
exports.up = knex => {
const dbCompat = {
blobLength: (WIKI.config.db.type === `mysql` || WIKI.config.db.type === `mariadb`)
}
return knex.schema
.table('assetData', table => {
if (dbCompat.blobLength) {
table.dropColumn('data')
}
})
.table('assetData', table => {
if (dbCompat.blobLength) {
table.specificType('data', 'LONGBLOB').notNullable()
}
})
}
exports.down = knex => {
return knex.schema
.table('assetData', table => {})
}

777
yarn.lock

File diff suppressed because it is too large Load Diff