96 lines
3.9 KiB
Markdown
96 lines
3.9 KiB
Markdown
# GEO.coop README
|
|
|
|
This project is based on Drutopia, which means it is compatible with
|
|
existing and future Drutopia features. We will be diverging from
|
|
Drutopia for special functionality, however.
|
|
|
|
## Getting started
|
|
|
|
One time:
|
|
|
|
```
|
|
git clone git@gitlab.com:agaric/sites/geo.git
|
|
cd geo
|
|
```
|
|
|
|
[Install DDEV](https://ddev.readthedocs.io/en/latest/#installation) for
|
|
the following steps to work.
|
|
|
|
Whenever you want a fresh start:
|
|
|
|
|
|
```
|
|
git pull
|
|
ddev start
|
|
ddev composer update
|
|
ddev . drush -y site:install minimal --existing-config
|
|
```
|
|
|
|
|
|
## Running the migration in development
|
|
|
|
Download the D7 files via the Backup and Migrate module.
|
|
|
|
Put the D7 files in the following location:
|
|
```
|
|
<Project Root>/d7/sites/default/files/
|
|
```
|
|
There is a reference to the `sites/default/files` in the database so that structure is mandatory for the migration.
|
|
|
|
The path in the `upgrade_d7_file.yml` migration file is different because this is executed inside the docker container so in the docker container the <Project Root> is: `/var/www/html/` but no need to re-create those folders in the host machine.
|
|
|
|
Create a database called `drupal7`:
|
|
|
|
Use `ddev describe` to see what the host and port are for your local environment, and use that in the first line here:
|
|
|
|
```
|
|
mysql --host=127.0.0.1 --port=32779 --user=root --password=root --database=db
|
|
CREATE DATABASE drupal7;
|
|
GRANT ALL ON drupal7.* to 'db'@'%' IDENTIFIED BY 'db';
|
|
```
|
|
|
|
Now `ctrl+c` out of there, and, again substituting the host and port for your own, import your file from whereever you placed and named your db SQL dump:
|
|
|
|
```
|
|
mysql --host=127.0.0.1 --port=32779 --user=root --password=root --database=drupal7 < data/db.mysql
|
|
```
|
|
|
|
(Above per [instructions for creating another database in ddev](https://stackoverflow.com/a/49785024/1943924).)
|
|
|
|
Once the files are in the correct place and the database has been created we can run the following to run all the migrations:
|
|
|
|
```
|
|
ddev . drush mim --group="migrate_drupal_7_geo"
|
|
```
|
|
|
|
|
|
## Running the migration on the hosted instance
|
|
|
|
1. Ensure the files you need are uploaded to the server. Obtain the latest from the prior site: database, and files. Upload these to the server (e.g. `scp *.gz geo_live@drutopia.org:`) and we'll extract them there.
|
|
1. If a deployment has been performed already, it must be moved out of the way by removing existing databases. Log into the server (`ssh geo_live@drutopia.org`) and remove the database(s):
|
|
- Start the mysql client (logged into geo_live): `mysql`
|
|
- Drop the drupal db: `drop database geo_live;`
|
|
- Drop the migration source db: `drop database geo_legacy;`
|
|
- Exit mysql by typing `ctrl+d`
|
|
1. Extract the uploaded files (still on server):
|
|
- Unzip the uploaded database file (this expects there to be only ONE such file): `gunzip *.mysql.gz`
|
|
- Rename the database file: `mv *.mysql geo_legacy.sql`
|
|
- Unpack the files, but first cd to where they go (again, there should only be ONE file ending in .tar.gz in home): `cd site/d7/sites/default/files/` and untar: `tar xzf ~/*.tar.gz` (this will take a minute/two).
|
|
- The server side is ready! Log off by typing `ctrl+d`
|
|
1. Now perform a deployment with drutopia_hosting. This will install the site using the minimal profile and existing config:
|
|
- `ahoy deploy-build news`
|
|
- `ahoy deploy-site geo_live`
|
|
1. Return to the server (`ssh geo_live@drutopia.org`), load legacy db and run the migration:
|
|
- Read the db source into the proper database: `mysql geo_legacy < geo_legacy.sql`
|
|
- `drush mim --group="migrate_drupal_7_geo"`
|
|
- `drush php:script article_repost_term.php`
|
|
|
|
## Post go-live tasks
|
|
|
|
1. Remove all d7 files: `rm -rf site/d7` and `rm geo_legacy.sql`, etc.
|
|
1. Change the site settings in hosting:
|
|
- config_import -> True
|
|
- php_settings_code -> blank
|
|
1. Change the news build settings in hosting:
|
|
- remove custom build commands (i.e. sed)
|
|
1. At this point, the deploy should be typical (deploy-build/deploy-site as normal)
|