| /* |
| ============LICENSE_START========================================== |
| =================================================================== |
| Copyright (C) 2018-19 IBM Intellectual Property. All rights reserved. |
| =================================================================== |
| |
| Unless otherwise specified, all software contained herein is licensed |
| under the Apache License, Version 2.0 (the License); |
| you may not use this software except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| ============LICENSE_END============================================ |
| */ |
| |
| import { CdsUiServerApplication } from './application'; |
| |
| export async function migrate(args: string[]) { |
| const existingSchema = args.includes('--rebuild') ? 'drop' : 'alter'; |
| console.log('Migrating schemas (%s existing schema)', existingSchema); |
| |
| const app = new CdsUiServerApplication(); |
| await app.boot(); |
| await app.migrateSchema({ existingSchema }); |
| |
| // Connectors usually keep a pool of opened connections, |
| // this keeps the process running even after all work is done. |
| // We need to exit explicitly. |
| process.exit(0); |
| } |
| |
| migrate(process.argv).catch(err => { |
| console.error('Cannot migrate database schema', err); |
| process.exit(1); |
| }); |