Skip to content

Commit

Permalink
add init_db.py
Browse files Browse the repository at this point in the history
  • Loading branch information
施華桐 committed Jan 31, 2019
1 parent e01e59a commit 96d1c18
Show file tree
Hide file tree
Showing 4 changed files with 128 additions and 29 deletions.
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,13 @@ crawler/config.ini
database/
*.json
.vscode/
build/
dist/
*.db*
*.ods
*.csv
*.ini
*.log*
*.png
*.pyc
*.pyc
*.spec
70 changes: 58 additions & 12 deletions doc/en.md
Original file line number Diff line number Diff line change
Expand Up @@ -145,41 +145,87 @@ python schedule.py remove {article, asn, user}

## Bundle python scripts into executables

### Bundle instruction

* windows

```bash
# init_db.exe
pyinstaller -F --clean \
--hidden-import logging.config \
--hidden-import typing \
--hidden-import sqlalchemy.ext.declarative \
init_db.py
# export.exe
pyinstaller -F --clean ^
--hidden-import pyexcel_io.readers ^
--hidden-import pyexcel_io.writers ^
--hidden-import pyexcel_io.database ^
--hidden-import pyexcel_ods3.odsw ^
--hidden-import sqlalchemy.ext.baked ^
export.py
# query.exe
pyinstaller -F --clean ^
--hidden-import pyexcel_io.readers ^
--hidden-import pyexcel_io.writers ^
--hidden-import pyexcel_io.database ^
--hidden-import pyexcel_ods3.odsw ^
--hidden-import sqlalchemy.ext.baked ^
query.py
# schedule.exe
# `python-crontab` is not working on windows
# Todo: search other package to replace `python-crontab`
pyinstaller -F --clean ^
schedule.py
# crawler.exe
pyinstaller -F --clean ^
--name crawler.exe ^
crawler\__main__.py
```

* linux

```bash
# init_db
pyinstaller -F --clean \
--hidden-import logging.config \
--hidden-import typing \
--hidden-import sqlalchemy.ext.declarative \
init_db.py
# export
pyinstaller -F --clean \
-p "<python Lib路徑>;<python Lib site-packages路徑>" \
--hidden-import pyexcel_io.readers \
--hidden-import pyexcel_io.writers \
--hidden-import pyexcel_io.database \
--hidden-import pyexcel_io.database \
--hidden-import pyexcel_ods3.odsw \
--hidden-import sqlalchemy.ext.baked \
--hidden-import sqlalchemy.ext.baked \
export.py
# query.exe
# query
pyinstaller -F --clean \
-p "<python Lib路徑>;<python Lib site-packages路徑>" \
--hidden-import pyexcel_io.readers \
--hidden-import pyexcel_io.writers \
--hidden-import pyexcel_io.database \
--hidden-import pyexcel_ods3.odsw \
--hidden-import sqlalchemy.ext.baked \
query.py
# schedule.exe
pyinstaller -F --clean
-p "<python Lib路徑>;<python Lib site-packages路徑>" \
# schedule
pyinstaller -F --clean \
schedule.py
# crawler.exe
# crawler
pyinstaller -F --clean \
-p "<python Lib路徑>;<python Lib site-packages路徑>" \
--name crawler.exe \
crawler\__main__.py
--name crawler \
crawler/__main__.py
```


## Architecture

```
Expand Down
73 changes: 57 additions & 16 deletions doc/zh.md
Original file line number Diff line number Diff line change
Expand Up @@ -187,43 +187,84 @@ python export.py --format {ods, csv json} --output-folder OUTPUT_FOLDER [--outpu

## 將腳本打包為執行檔

* python Lib路徑解釋
- windows
例如python環境安裝在"C:\Program Files\Python37"`<python Lib路徑>``C:\Program Files\Python37\Lib``<python Lib site-packages路徑>``C:\Program Files\Python37\Lib\site-packages`
### 打包執行檔指令

* 打包執行檔指令
* windows

```bash
# init_db.exe
pyinstaller -F --clean \
--hidden-import logging.config \
--hidden-import typing \
--hidden-import sqlalchemy.ext.declarative \
init_db.py
# export.exe
pyinstaller -F --clean ^
--hidden-import pyexcel_io.readers ^
--hidden-import pyexcel_io.writers ^
--hidden-import pyexcel_io.database ^
--hidden-import pyexcel_ods3.odsw ^
--hidden-import sqlalchemy.ext.baked ^
export.py
# query.exe
pyinstaller -F --clean ^
--hidden-import pyexcel_io.readers ^
--hidden-import pyexcel_io.writers ^
--hidden-import pyexcel_io.database ^
--hidden-import pyexcel_ods3.odsw ^
--hidden-import sqlalchemy.ext.baked ^
query.py
# schedule.exe
# `python-crontab` 在 windows 環境下無法使用
# Todo: 尋找其他套件替代
pyinstaller -F --clean
schedule.py
# crawler.exe
pyinstaller -F --clean ^
--name crawler.exe ^
crawler\__main__.py
```

* linux

```bash
# init_db
pyinstaller -F --clean \
--hidden-import logging.config \
--hidden-import typing \
--hidden-import sqlalchemy.ext.declarative \
init_db.py
# export
pyinstaller -F --clean \
-p "<python Lib路徑>;<python Lib site-packages路徑>" \
--hidden-import pyexcel_io.readers \
--hidden-import pyexcel_io.writers \
--hidden-import pyexcel_io.database \
--hidden-import pyexcel_io.database \
--hidden-import pyexcel_ods3.odsw \
--hidden-import sqlalchemy.ext.baked \
--hidden-import sqlalchemy.ext.baked \
export.py
# query.exe
# query
pyinstaller -F --clean \
-p "<python Lib路徑>;<python Lib site-packages路徑>" \
--hidden-import pyexcel_io.readers \
--hidden-import pyexcel_io.writers \
--hidden-import pyexcel_io.database \
--hidden-import pyexcel_ods3.odsw \
--hidden-import sqlalchemy.ext.baked \
query.py
# schedule.exe
pyinstaller -F --clean
-p "<python Lib路徑>;<python Lib site-packages路徑>" \
# schedule
pyinstaller -F --clean \
schedule.py
# crawler.exe
# crawler
pyinstaller -F --clean \
-p "<python Lib路徑>;<python Lib site-packages路徑>" \
--name crawler.exe \
crawler\__main__.py
--name crawler \
crawler/__main__.py
```

## 檔案結構
Expand Down
9 changes: 9 additions & 0 deletions init_db.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import alembic.config

alembicArgs = [
'--raiseerr',
'upgrade', 'head',
]

if __name__ == "__main__":
alembic.config.main(argv=alembicArgs)

0 comments on commit 96d1c18

Please sign in to comment.